package com.sky.service;

import com.sky.vo.OrderReportVO;
import com.sky.vo.SalesTop10ReportVO;
import com.sky.vo.TurnoverReportVO;
import com.sky.vo.UserReportVO;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.time.LocalDate;

public interface ReportService {
    /**
     * @description: 统计营业额数据
     * @author: wzw
     * @date: 2025/10/5 0005 15:17
     * @return:
     **/
    TurnoverReportVO getTurnoverStatistics(LocalDate begin, LocalDate end);

    /**
     * @description: 统计用户数据
     * @author: wzw
     * @date: 2025/10/5 0005 15:17
     * @return:
     **/
    UserReportVO getUserStatistics(LocalDate begin, LocalDate end);

    /**
     * @description: 统计订单数据
     * @author: wzw
     * @date: 2025/10/5 0005 15:17
     * @return:
     **/
    OrderReportVO getOrderStatistics(LocalDate begin, LocalDate end);

    /**
     * @description: 统计销量排名top10
     * @author: wzw
     * @date: 2025/10/5 0005 15:17
     * @return:
     **/
    SalesTop10ReportVO getTop10(LocalDate begin, LocalDate end);

    /**
     * @description: 导出营业数据
     * @author: wzw
     * @date: 2025/10/5 0005 15:17
     * @param:
     * @return:
     **/
    void exportBusinessData(HttpServletResponse response);
}
